/*
 * @Author: your name
 * @Date: 2021-06-10 15:39:47
 * @LastEditTime: 2021-06-16 11:33:46
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \big_evend_01\assets\js\common.js
 */
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net';


// 请求拦截器 令牌拦截
axios.interceptors.request.use(function (config) {
    // console.log(config);
    // if (config.url.indexOf('/my/') >= 0) {
    // if (config.url.indexOf('/my/') > -1) {
    if (config.url.includes('/my/')) {
        config.headers.Authorization = localStorage.getItem('token')
    }

    return config
}, function (ettor) {
    return promise.reject(error)
})


// 响应拦截器  登陆拦截

axios.interceptors.response.use(function (response) {
    // 处理相应内容
    // 如果身份认证失败，就跳转到登录页面
    let obj = response.data
    if (obj.message === '身份认证失败！') {
        // 页面跳转
        location.href = '/login.html'
        // 删除无效token
        localStorage.removeItem('token')
    }
    // 下面的代码，可以让 axios 中的返回数据和 JQurery中的ajax返回的数据一样
    // response = response.data

    // 返回响应对象
    return response
}, function (error) {
        // 后面讲，现在不考虑请求出错的情况
    return promise.reject(error)
})


// 格式化日期方式
function dateFormat(str) {
    let dt = new Date(str)
    
    let yy = dt.getFullYear();
    let mm = padZero(dt.getMonth() + 1)
    let dd =  padZero(dt.getDate())

    let h =  padZero(dt.getHours())
    let m =  padZero(dt.getMinutes())
    let s =  padZero(dt.getSeconds())

    return `${yy}-${mm}-${dd} ${h}:${m}:${s}`
}


// 补零操作
function padZero(n) {
    return n < 10 ? "0" + n : n
}